home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1993-08-10 | 1.3 KB | 56 lines |
- 'Load Iff "dh1:amosgfx/Ballnbat.iff",0
- 'X=0 : G=64
- 'For A=0 To 15 : Colour A+16,Colour(A) : Next
- 'For A=0 To 6
- ' Get Sprite A+1,X,0 To X+G,G
- ' Hot Spot A+1,G/2-1,G/2-1
- ' Add X,G
- ' G=G-8
- 'Next
- Hide
- Screen Open 0,320,200,4,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Double Buffer
- Autoback 0
- Get Sprite Palette
- Palette 0,$FFF,$CCC,$888
- Degree
- XB=1600 : YB=1500 : ZB=-500
- XS=40 : YS=-30 : ZS=0
- Do
- Screen Swap : Cls
- XM=X Mouse-128 : YM=Y Mouse
- D=Sin((YM-50)/2)*80
- Y=YM : X=XM-20 : Gosub DCO
- X1=RX : Y1=RY
- Y=YM : X=XM+20 : Gosub DCO
- X2=RX : Y2=RY+(X2-X1)/4
- Y=YM-D : X=XM-20 : Gosub DCO
- X3=RX : Y3=RY
- Y=YM-D : X=XM+20 : Gosub DCO
- X4=RX : Y4=RY+(X4-X3)/4
- Ink 3 : Polygon X1,Y1 To X3,Y3 To X3,Y4 To X1,Y2
- Polygon X2,Y1 To X4,Y3 To X4,Y4 To X2,Y2
- Ink 1 : Bar X1,Y1 To X2,Y2
- Ink 2 : Polygon X1,Y1 To X2,Y1 To X4,Y3 To X3,Y3
- Wait Vbl
- Home
- If YB<0 or YB>2000 Then YS=-YS
- If XB<0 or XB>3200 Then XS=-XS
- Add XB,XS : Add YB,YS : Add ZB,ZS : Inc ZS
- X=XB/10 : Y=YB/10 : Gosub DCO
- RZ=ZB/10
- If ZB>-200 and(XM-10<(XB/10)) and(XM+10>(XB/10)) and(YM-60<(YB/10)) and(YM-40>(YB/10))
- ZS=-Abs(ZS)
- End If
- Plot XB/10,YB/10,1
- Plot XM,YM-50,2
- Sprite 0,RX+128,RY+50+RZ,Max(Min((200-Y)/20,7),1)
- Print "X:";RX;" "
- Print "Y:";RY;" "
- Print "Z:";RZ;" "
- Loop
- DCO:
- RY=Y/4+100
- RX=160+((X-160)*Y)/150
- Return